home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / サンプル応用編 / 簡易エディタ / SEDIT.H < prev    next >
Text File  |  1994-03-10  |  4KB  |  152 lines

  1. /******************************************************************************
  2.  *    sedit.h:    簡易エディタ.xのための関数型、構造体マクロ宣言
  3.  ******************************************************************************
  4.  *    Workroom SX-68K Sample Program Copyright 1994 SHARP
  5.  *
  6.  *    定数定義
  7.  */
  8. /* ウィンドウタイトル */
  9. #define WINTITLE    "簡易エディタ"
  10. #define MYNAME        "簡易エディタ.X"
  11.  
  12. /* テキスト入力欄の表示位置 */
  13. #define TXT_L        4        /* 左端座標            */
  14. #define TXT_T        2        /* 上端座標            */
  15.  
  16. #define FONTSIZE    6        /* 半角文字のサイズ        */
  17.  
  18. /* ウィンドウの幅 */
  19. #define WIN_H        (TXT_L + FONTSIZE * 70 + SCRLBR_H)
  20. /* ウィンドウの高さ */
  21. #define WIN_V        (TXT_T + FONTSIZE * 2 * 13 + SCRLBR_H)
  22.  
  23. #define LINELEN        128
  24. #define MINSIZE_H    363
  25. #define MINSIZE_V    146
  26. #define MAXSIZE_H    (LINELEN * FONTSIZE + SCRLBR_H)
  27. #define MAXSIZE_V    1024
  28. #define ESE_X        16
  29. #define ESE_Y        16
  30.  
  31. #define CACHESIZE    4096
  32. #define SCROLLINT    20
  33. #define CHKTIME        64
  34.  
  35. #define NONE        0
  36. #define LOAD        1
  37. #define SAVE        2
  38.  
  39. /* イベントマスク */
  40. #define EVENTMASK    (EM_IDLE | EM_MSLDOWN | EM_MSRDOWN | EM_UPDATE | EM_ACTIVATE | EM_SYSTEM1 | EM_SYSTEM2)
  41.  
  42. /* ファイル属性マスク */
  43. #define ATTRMASK    (TS_SYSTEM | TS_VOLID | TS_SUBDIR | TS_ARCH)
  44. /*
  45.  *    構造体宣言
  46.  */
  47. typedef struct ScrlVal {        /* スクロールバーの値        */
  48.     int val;            /* 現在値            */
  49.     int max;            /* 最大値            */
  50.     int dMax;            /* コントロール定義関数のデータ    */
  51. } ScrlVal;
  52.  
  53. typedef struct EseDlg {
  54.     Window *windowPtr;
  55.     TEdit **tEditHdl;
  56.     BOOLEAN visible;
  57.     char **title;
  58.     Point ttlPos;
  59.     Rect rcFrame;            /* 外枠のレクタングル        */
  60.     Rect rcText;
  61.     Rect rcPart;            /* 文字ボタンのパーティション    */
  62.     /* テキストエディットのディスティネーションレクタングル */
  63.     Rect rcDest;
  64.     Control **execBtnHdl;        /* 実行                */
  65.     Control **canBtnHdl;        /* 取消                */
  66. } EseDlg;
  67.  
  68. typedef struct ComVal {            /* 共通変数            */
  69.     Window *windowPtr;        /* ウィンドウポインタ        */
  70.     BOOLEAN activeFlag;        /* アクティブフラグ        */
  71.     TsEvent event;            /* イベントレコード        */
  72.     int eventMask;            /* イベントマスク        */
  73.     int errorCode;            /* エラーコード            */
  74.     BOOLEAN endFlag;        /* 終了フラグ            */
  75.  
  76.     TEdit **tEditHdl;        /* テキストエディットハンドル    */
  77.     Rect view;            /* ビューレクタングル        */
  78.     BOOLEAN editFlag;        /* 編集フラグ            */
  79.  
  80.     /* 横スクロールバーのコントロールハンドル */
  81.     Control **scrlBrHHdl;
  82.     /* 縦スクロールバーのコントロールハンドル */
  83.     Control **scrlBrVHdl;
  84.     ScrlVal scrlH;            /* 横スクロール値        */
  85.     ScrlVal scrlV;            /* 縦スクロール値        */
  86.     /* スクロールバーのチェック間隔のワーク */
  87.     int scrlTime;
  88.     int scrlShift;            /* スクロール計算用ワーク    */
  89.     BOOLEAN scrlFlag;        /* スクロール中のフラグ        */
  90.  
  91.     EseDlg eseDlg;            /* 疑似ダイアログ用ワーク    */
  92.     /* 疑似ダイアログ表示状態フラグ(0=非表示、1=LOAD、2=SAVE)*/
  93.     int eseFlag;
  94.     char fileName[TS_NAMEMAX];    /* 現在編集中のファイル名    */
  95. } ComVal;
  96. /*
  97.  *    外部変数宣言
  98.  */
  99. extern short funcKeyTbl[];        /* ファンクションキーアサインテーブル */
  100. /*
  101.  *    関数プロトタイプ
  102.  */
  103. /* sedit.c */
  104. BOOLEAN init(ComVal *);
  105. BOOLEAN createWindow(ComVal *);
  106. BOOLEAN createText(ComVal *);
  107. void idleEvent(ComVal *);
  108. void msLDownEvent(ComVal *);
  109. void msRDownEvent(ComVal *);
  110. void selectMenu(ComVal *);
  111. void keyDownEvent(ComVal *);
  112. void updateEvent(ComVal *);
  113. void drawGraph(ComVal *);
  114. void activateEvent(ComVal *);
  115. void systemEvent(ComVal *);
  116. void dropIcon(ComVal *);
  117. void showErrDialog(ComVal *);
  118. void endProc(int, ComVal *);
  119. void resizeView(ComVal *);
  120. void setWinTitle(ComVal *);
  121. void addUpdate(Window *, Rect *);
  122.  
  123. /* sescroll.c */
  124. BOOLEAN createScrollBar(ComVal *);
  125. int checkScrollBar(ComVal *);
  126. void setScrollBar(ComVal *);
  127. void calcScrollBar(ComVal *, ScrlVal *, ScrlVal *);
  128. void resizeScrollBar(ComVal *);
  129.  
  130. /* sefile.c */
  131. int readFile(ComVal *, char *);
  132. void saveFile(ComVal *);
  133. void getFileName(ComVal *, int);
  134. BOOLEAN checkDrive(ComVal *, char *, int);
  135. BOOLEAN writeFile(ComVal *);
  136.  
  137. /* seese.c */
  138. BOOLEAN openEseDlg(EseDlg *, Window *, char *);
  139. void closeEseDlg(EseDlg *);
  140. void drawEseDlg(EseDlg *);
  141. void showEseDlg(EseDlg *);
  142. void hideEseDlg(EseDlg *);
  143. BOOLEAN createEseText(EseDlg *);
  144. BOOLEAN createEseControl(EseDlg *);
  145. void caretEseDlg(EseDlg *, BOOLEAN);
  146. int eseDlgEvent(EseDlg *, TsEvent *);
  147. BOOLEAN dropEseIcon(EseDlg *, TsEvent *);
  148. int getEseStr(EseDlg *, char *);
  149. int setEseStr(EseDlg *, char *, int);
  150. void setClip(Window *, Rect *);
  151. void releaseClip(Window *);
  152.